package com.example.hhh.repository;

import com.example.hhh.model.OrderNote;
import com.example.hhh.model.WorkOrder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface OrderNoteRepository extends JpaRepository<OrderNote, Integer> {

    // 根据工单ID查询所有注释
    List<OrderNote> findByWorkOrder_OrderId(Integer orderId);

    // 根据员工ID查询所有注释
    List<OrderNote> findByStaff_StaffId(Integer staffId);

    // 根据注释类型查询
    List<OrderNote> findByNoteType(Integer noteType);
    // 直接查询orderId字段
    List<OrderNote> findByOrderId(Integer orderId);

    // 如果是关联Order实体的id
    List<OrderNote> findByOrder_Id(Integer orderId);
    // 查询工单的最新注释
    @Query("SELECT n FROM OrderNote n WHERE n.workOrder.orderId = :orderId ORDER BY n.createTime DESC")
    List<OrderNote> findLatestNotesByOrder(@Param("orderId") Integer orderId);

    // 统计工单的注释数量
    long countByWorkOrder_OrderId(Integer orderId);
}